<script>
// app.js
import { checkUpdateVersion } from './utils/util.js';
import io from './utils/weapp.socket.io';
let audioCtx = null;
let isConnected = false;
let socket = null;
let timer = null;
export default {
    data() {
        return {};
    },
    globalData: {
        authinfo: '',

        //门店认证信息
        baseurl: 'https://newapi.yiyue.pub', // 线上 wx72cefd902c847310
        storePrefix: '/store-api',

        // storePrefix: '',//本地
        mallPrefix: '/mall-services',

        yiyuePrefix: '/yiyue-push-service',
        yiyueType: 'yiyue',
        mallType: 'mall',
        msgPrefix: '/msg-api',
        msgType: 'msg',
        userPrefix: '/user-api',
        userType: 'user',
        userInfo: null,
        paytype: 3,
        appletCheck: 0,
        redenvelopeactive: 0,

        // 全局控制红包tabs
        marginBottom: null,

        //  页面底部距离自定义tabbar组件的距离
        tabBarHeight: null,

        //  自定义tabbar组件高度
        imgUrl: 'https://kjyiyue.oss-cn-shenzhen.aliyuncs.com/images/',

        //  全局阿里云imgurl
        shopimgUrl: 'https://kjyiyue.oss-cn-shenzhen.aliyuncs.com/shopimages/',

        mallimgUrl: 'https://kjyiyue.oss-cn-shenzhen.aliyuncs.com/mallimages/',

        //  全局阿里云商城imgurl
        hairimgUrl: 'https://kjyiyue.oss-cn-shenzhen.aliyuncs.com/hairimages/',

        //  全局阿里云美发端imgurl
        isRelease: false,

        //只有提审正式版发布时设置为false, 防止部分模块发布不通过
        //是否显示临时活动
        isOver: false,

        //根据系统版本自动切换地址---门店端
        checkVersion: function () {
            const version = uni.getSystemInfoSync().SDKVersion;
            if (this.compareVersion(version, '2.10.4') >= 0) {
                let ENV = uni.getAccountInfoSync().miniProgram.envVersion; //  baseurl: 'http://192.168.2.47:8011'//本地
                console.log(1111111);
                // baseurl: 'http://192.168.0.177:8090', //本地
                // baseurl: 'http://4l10772v50.zicp.vip', //本地
                // baseurl: 'https://newapi.yiyue.kuaijihudong.net' // wxf8153f630c3fd8a9 测试环境

                baseurl: 'https://newapi.yiyue.pub'; // 线上 wx72cefd902c847310

                if (ENV == 'develop') {
                    console.log(8564468648468468);
                    //开发环境(本地联调在此处修改地址)
                    //this.globalData.baseurl = 'https://test-newapi.yiyue.pub'
                    // this.globalData.baseurl = 'https://newapi.yiyue.pub'; //测试 wxf8153f630c3fd8a9
                    // this.globalData.baseurl = 'http://35iz976635.picp.vip';
                    this.baseurl = 'https://newapi.yiyue.pub'; // 线上 wx72cefd902c847310
                    // this.baseurl = 'http://192.168.2.47:8090'; // 线上 wx72cefd902c847310
                    this.isRelease = true;
                } else if (ENV == 'trial') {
                    //测试环境(体验版)
                    this.baseurl = 'https://newapi.yiyue.pub'; // 线上
                    // this.globalData.baseurl = 'https://test-newapi.yiyue.pub';
                    //this.globalData.baseurl = 'https://pre-newapi.yiyue.pub'; //测试 wxf8153f630c3fd8a9

                    this.isRelease = true; //提审时将此处注释
                } else if (ENV == 'release') {
                    //正式环境
                    this.baseurl = 'https://newapi.yiyue.pub'; // 线上 wx72cefd902c847310

                    this.isRelease = true;
                }
            } else {
                // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
                // uni.showModal({
                //     title: '提示',
                //     content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
                // });
            }
            this.baseurl = 'https://newapi.yiyue.pub'; // 线上 wx72cefd902c847310
            this.isRelease = true;
        },

        //编译版本对比
        compareVersion: function (v1, v2) {
            v1 = v1.split('.');
            v2 = v2.split('.');
            const len = Math.max(v1.length, v2.length);

            while (v1.length < len) {
                v1.push('0');
            }

            while (v2.length < len) {
                v2.push('0');
            }

            for (let i = 0; i < len; i++) {
                const num1 = parseInt(v1[i]);
                const num2 = parseInt(v2[i]);

                if (num1 > num2) {
                    return 1;
                } else if (num1 < num2) {
                    return -1;
                }
            }

            return 0;
        },

        //消息播报
        openTcp() {
            console.log('---openTcp---'); //wss://192.168.12.33:9090?userId=123

            let userId = uni.getStorageSync('userId') || '';
            let isPlay = uni.getStorageSync('isPlay');

            if (uni.getStorageSync('isPlay').length == 0) {
                isPlay = true;
            } // console.log('isPlay', isPlay, !isPlay, !userId, socket);

            if (!(userId && isPlay)) {
                return;
            }

            if (socket) {
                return;
            }

            socket = this.socket = io(this.baseurl.replace('https', 'wss') + '?userId=' + userId);
            socket?.on('connect', () => {
                isConnected = true;
                timer = setInterval(() => {
                    socket.emit('header', 'pg');
                }, 10000);
            });
            socket.on('receiveMsg', function (d) {
                if (audioCtx) {
                    audioCtx.src = 'https://yiyuestore.oss-cn-shenzhen.aliyuncs.com/notice/shoukuan.mp3?v=1';
                    audioCtx.play();
                }
            });
            socket.on('header', function (d) { });
            socket.on('connect_error', (d) => {
                socket = null;
            });
            socket.on('connect_timeout', (d) => {
                socket = null;
            });
            socket.on('disconnect', (reason) => {
                socket = null;
            });
            socket.on('reconnect', (attemptNumber) => { });
            socket.on('reconnect_failed', () => {
                socket = null;
            });
            socket.on('reconnect_attempt', () => { });
            socket.on('error', (err) => {
                socket = null;
            });
        },

        closeTcp() {
            if (timer) {
                clearInterval(timer);
            }

            if (socket) {
                socket.close();
                socket = null;
            }
        }
    },
    onLaunch() {
        // 展示本地存储能力
        const logs = uni.getStorageSync('logs') || [];
        logs.unshift(Date.now());
        uni.setStorageSync('logs', logs); // 弱网检测
        // wx.onNetworkWeakChange(function (res) {
        //   if (res.weakNet) {
        //     wx.navigateTo({
        //       url: '/pages/networkanomaly/index',
        //     })
        //   }
        // })
        // 版本更新

        checkUpdateVersion(); //自动切换地址
        this.globalData.checkVersion(); // 登录

        uni.login({
            success: (res) => {
                // 发送 res.code 到后台换取 openId, sessionKey, unionId
            }
        });
        audioCtx = uni.createInnerAudioContext();
    }
};
</script>
<style>
@import './wxcomponents/vant/dist/common/index.wxss'
</style>
<style>
/**app.wxss**/
page {
    --red: #eb4242;
    --nacarat: #ff683b;
    --orange: #ff8722;
    --yellow: #ffb22e;
    --golden: #f7d5b0;
    --olive: #8dc63f;
    --green: #02cc89;
    --cyan: #1cbbb4;
    --blue: #008dff;
    --purple: #6739b6;
    --mauve: #9c26b0;
    --pink: #fff5f4;
    --brown: #4b2d12;
    --grey: #8799a3;
    --black: #333333;
    --gray: #aaaaaa;
    --white: #ffffff;
    --darkGray: #666666;
    --darkGrey: #999999;
    --ghostGray: #f8f8f8;
    --ghostWhite: #f1f1f1;
    --gradualRed: linear-gradient(270deg, rgba(247, 33, 75, 0.8), rgba(231, 14, 56, 0.8));
    --gradualOrange: linear-gradient(90deg, #fa8d68, #fa7368);
    height: 100%;
}

/* 圆、椭圆*/
.round {
    border-radius: 50%;
}

.radius {
    border-radius: 10rpx;
}

.radius-20 {
    border-radius: 20rpx;
}

.radiues {
    border-radius: 50rpx;
}

.response {
    width: 100%;
}

/* flex布局 */
.box-sizing {
    box-sizing: border-box;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.block {
    display: block;
}

.flexs {
    display: flex;
}

.flex-sub {
    flex: 1;
}

.flex-direction {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.self-auto {
    align-self: auto;
}

.self-start {
    align-self: flex-start;
}

.self-end {
    align-self: flex-end;
}

.self-center {
    align-self: center;
}

.self-baseline {
    align-self: baseline;
}

.self-stretch {
    align-self: stretch;
}

.align-start {
    align-items: flex-start;
}

.align-end {
    align-items: flex-end;
}

.align-center {
    align-items: center;
}

.align-stretch {
    align-items: stretch;
}

.align-baseline {
    align-items: baseline;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

/* 内外边距 */
.margin-0 {
    margin: 0;
}

.margin-xs {
    margin: 10rpx;
}

.margin-sm {
    margin: 20rpx;
}

.margin {
    margin: 30rpx;
}

.margin-lg {
    margin: 40rpx;
}

.margin-xl {
    margin: 50rpx;
}

.margin-top-xs {
    margin-top: 10rpx;
}

.margin-top-sm {
    margin-top: 20rpx;
}

.margin-top {
    margin-top: 30rpx;
}

.margin-top-lg {
    margin-top: 40rpx;
}

.margin-top-xl {
    margin-top: 50rpx;
}

.margin-right-xs {
    margin-right: 10rpx;
}

.margin-right-sm {
    margin-right: 20rpx;
}

.margin-right {
    margin-right: 30rpx;
}

.margin-right-lg {
    margin-right: 40rpx;
}

.margin-right-xl {
    margin-right: 50rpx;
}

.margin-bottom-xs {
    margin-bottom: 10rpx;
}

.margin-bottom-sm {
    margin-bottom: 20rpx;
}

.margin-bottom {
    margin-bottom: 30rpx;
}

.margin-bottom-lg {
    margin-bottom: 40rpx;
}

.margin-bottom-xl {
    margin-bottom: 50rpx;
}

.margin-left-xs {
    margin-left: 10rpx;
}

.margin-left-sm {
    margin-left: 20rpx;
}

.margin-left {
    margin-left: 30rpx;
}

.margin-left-lg {
    margin-left: 40rpx;
}

.margin-left-xl {
    margin-left: 50rpx;
}

.margin-lr-xs {
    margin-left: 10rpx;
    margin-right: 10rpx;
}

.margin-lr-sm {
    margin-left: 20rpx;
    margin-right: 20rpx;
}

.margin-lr {
    margin-left: 30rpx;
    margin-right: 30rpx;
}

.margin-lr-lg {
    margin-left: 40rpx;
    margin-right: 40rpx;
}

.margin-lr-xl {
    margin-left: 50rpx;
    margin-right: 50rpx;
}

.margin-tb-xs {
    margin-top: 10rpx;
    margin-bottom: 10rpx;
}

.margin-tb-sm {
    margin-top: 20rpx;
    margin-bottom: 20rpx;
}

.margin-tb {
    margin-top: 30rpx;
    margin-bottom: 30rpx;
}

.margin-tb-lg {
    margin-top: 40rpx;
    margin-bottom: 40rpx;
}

.margin-tb-xl {
    margin-top: 50rpx;
    margin-bottom: 50rpx;
}

.padding-0 {
    padding: 0;
}

.padding-xs {
    padding: 10rpx;
}

.padding-sm {
    padding: 20rpx;
}

.padding {
    padding: 30rpx;
}

.padding-lg {
    padding: 40rpx;
}

.padding-xl {
    padding: 50rpx;
}

.padding-top-xxs {
    padding-top: 5rpx;
}

.padding-top-xs {
    padding-top: 10rpx;
}

.padding-top-sm {
    padding-top: 20rpx;
}

.padding-top {
    padding-top: 30rpx;
}

.padding-top-lg {
    padding-top: 40rpx;
}

.padding-top-xl {
    padding-top: 50rpx;
}

.padding-right-xs {
    padding-right: 10rpx;
}

.padding-right-sm {
    padding-right: 20rpx;
}

.padding-right {
    padding-right: 30rpx;
}

.padding-right-lg {
    padding-right: 40rpx;
}

.padding-right-xl {
    padding-right: 50rpx;
}

.padding-bottom-xs {
    padding-bottom: 10rpx;
}

.padding-bottom-sm {
    padding-bottom: 20rpx;
}

.padding-bottom {
    padding-bottom: 30rpx;
}

.padding-bottom-lg {
    padding-bottom: 40rpx;
}

.padding-bottom-xl {
    padding-bottom: 50rpx;
}

.padding-left-xs {
    padding-left: 10rpx;
}

.padding-left-sm {
    padding-left: 20rpx;
}

.padding-left {
    padding-left: 30rpx;
}

.padding-left-lg {
    padding-left: 40rpx;
}

.padding-left-xl {
    padding-left: 50rpx;
}

.padding-lr-xs {
    padding-left: 10rpx;
    padding-right: 10rpx;
}

.padding-lr-sm {
    padding-left: 20rpx;
    padding-right: 20rpx;
}

.padding-lr {
    padding-left: 30rpx;
    padding-right: 30rpx;
}

.padding-lr-lg {
    padding-left: 40rpx;
    padding-right: 40rpx;
}

.padding-lr-xl {
    padding-left: 50rpx;
    padding-right: 50rpx;
}

.padding-tb-xs {
    padding-top: 10rpx;
    padding-bottom: 10rpx;
}

.padding-tb-sm {
    padding-top: 20rpx;
    padding-bottom: 20rpx;
}

.padding-tb {
    padding-top: 30rpx;
    padding-bottom: 30rpx;
}

.padding-tb-lg {
    padding-top: 40rpx;
    padding-bottom: 40rpx;
}

.padding-tb-xl {
    padding-top: 50rpx;
    padding-bottom: 50rpx;
}

/* 背景颜色 */
.bg-red {
    background-color: var(--red);
    color: var(--white);
}

.bg-orange {
    background-color: var(--orange);
    color: var(--white);
}

.bg-yellow {
    background-color: var(--yellow);
    color: var(--white);
}

.bg-golden {
    background-color: var(--golden);
    color: var(--black);
}

.bg-olive {
    background-color: var(--olive);
    color: var(--white);
}

.bg-green {
    background-color: var(--green);
    color: var(--white);
}

.bg-cyan {
    background-color: var(--cyan);
    color: var(--white);
}

.bg-blue {
    background-color: var(--blue);
    color: var(--white);
}

.bg-purple {
    background-color: var(--purple);
    color: var(--white);
}

.bg-mauve {
    background-color: var(--mauve);
    color: var(--white);
}

.bg-pink {
    background-color: var(--pink);
    color: var(--white);
}

.bg-brown {
    background-color: var(--brown);
    color: var(--white);
}

.bg-grey {
    background-color: var(--grey);
    color: var(--white);
}

.bg-gray {
    background-color: var(--gray);
    color: var(--white);
}

.bg-black {
    background-color: var(--black);
    color: var(--white);
}

.bg-white {
    background-color: var(--white);
    color: var(--black);
}

.bg-gradualRed {
    background: var(--gradualRed);
    color: var(--white);
}

.bg-ghostGray {
    background: var(--ghostGray);
    color: var(--black);
}

/* 字体样式 */
.text-xxxs {
    font-size: 16rpx;
}

.text-xxs {
    font-size: 18rpx;
}

.text-xs {
    font-size: 20rpx;
}

.text-sm {
    font-size: 24rpx;
}

.text-dm {
    font-size: 26rpx;
}

.text-df {
    font-size: 28rpx;
}

.text-dg {
    font-size: 30rpx;
}

.text-lg {
    font-size: 32rpx;
}

.text-xl {
    font-size: 36rpx;
}

.text-xxl {
    font-size: 40rpx;
}

.text-xxxl {
    font-size: 44rpx;
}

.text-red {
    color: var(--red);
}

.text-orange {
    color: var(--orange);
}

.text-yellow {
    color: var(--yellow);
}

.text-golden {
    color: var(--golden);
}

.text-olive {
    color: var(--olive);
}

.text-green {
    color: var(--green);
}

.text-cyan {
    color: var(--cyan);
}

.text-blue {
    color: var(--blue);
}

.text-purple {
    color: var(--purple);
}

.text-mauve {
    color: var(--mauve);
}

.text-pink {
    color: var(--pink);
}

.text-brown {
    color: var(--brown);
}

.text-grey {
    color: var(--grey);
}

.text-gray {
    color: var(--gray);
}

.text-black {
    color: var(--black);
}

.text-white {
    color: var(--white);
}

.text-darkGray {
    color: var(--darkGray);
}

.text-darkGrey {
    color: var(--darkGrey);
}

.text-bold {
    font-weight: bold;
}

.font-wg {
    font-weight: 800;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-through {
    text-decoration: line-through;
}

.text-Abc {
    text-transform: Capitalize;
}

.text-ABC {
    text-transform: Uppercase;
}

.text-abc {
    text-transform: Lowercase;
}

.text-price::before {
    content: '¥';
    font-size: 80%;
    margin-right: 4rpx;
}

.text-oline {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.text-tline {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.text-sline {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* 旋转 */
.rotate-90 {
    transform: rotate(90deg);
}

.rotate-180 {
    transform: rotate(180deg);
}

.rotate-270 {
    transform: rotate(270deg);
}

/* 页面加载 */
.load-transi {
    position: fixed;
    top: 30%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 26rpx;
}

/* 显示加载 */
.load {
    display: block;
    line-height: 3em;
    text-align: center;
    font-size: 24rpx;
    color: #aaaaaa;
}

.load::before {
    font-family: 'iconfont';
    display: inline-block;
    margin-right: 6rpx;
}

.load.over::after {
    content: '～我到底了～';
}

.load.overs::after {
    content: '您可任意挑选1件!';
}

.load.erro::after {
    content: '加载中...';
}

/* 自定义弹窗 */
.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99999;
    opacity: 0;
    outline: 0;
    text-align: center;
    -ms-transform: scale(1.185);
    transform: scale(1.185);
    backface-visibility: hidden;
    perspective: 2000rpx;
    background: rgba(0, 0, 0, 0.6);
    transition: all 0.3s ease-in-out 0s;
    pointer-events: none;
}

.modal::before {
    content: '\200B';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.modal.show {
    opacity: 1;
    transition-duration: 0.3s;
    -ms-transform: scale(1);
    transform: scale(1);
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
}

.dialog {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    width: 680rpx;
    max-width: 100%;
    border-radius: 10rpx;
    overflow: hidden;
}

.dialog .bar {
    box-shadow: none;
    position: static;
}

.modal.bottom-modal::before {
    vertical-align: bottom;
}

.modal.bottom-modal .dialog {
    width: 100%;
    border-radius: 0;
}

.modal.bottom-modal {
    margin-bottom: -1000rpx;
}

.modal.bottom-modal.show {
    margin-bottom: 0;
}

/* 单选框 多选框 */
checkbox .wx-checkbox-input {
    margin: 0;
    padding: 0;
    width: 34rpx;
    height: 34rpx;
    border-width: 1px;
    border-radius: 50%;
    box-sizing: border-box;
}

checkbox[checked] .wx-checkbox-input {
    background-color: var(--orange) !important;
    color: var(--white) !important;
}

checkbox.red[checked] .wx-checkbox-input {
    border-color: var(--orange) !important;
}

/* 默认背景样式*/
radio .wx-radio-input {
    width: 34rpx;
    height: 34rpx;
}

/* 选中后的 背景样式 （红色背景 无边框 可根据UI需求自己修改） */
radio .wx-radio-input.wx-radio-input-checked {
    width: 34rpx;
    /* 选中后对勾大小，不要超过背景的尺寸 */
    height: 34rpx;
    /* 选中后对勾大小，不要超过背景的尺寸 */
    border: none;
    background: var(--orange);
}

/* 选中后的 对勾样式 （白色对勾 可根据UI需求自己修改） */
radio .wx-radio-input.wx-radio-input-checked::before {
    border-radius: 50%;
    /* 圆角 */
    width: 34rpx;
    /* 选中后对勾大小，不要超过背景的尺寸 */
    height: 34rpx;
    /* 选中后对勾大小，不要超过背景的尺寸 */
    line-height: 34rpx;
    text-align: center;
    font-size: 28rpx;
    /* 对勾大小 30rpx */
    color: #fff;
    /* 对勾颜色 白色 */
    border: 1rpx solid var(--orange);
    background: var(--orange);
    transform: translate(-50%, -50%) scale(1);
    -webkit-transform: translate(-50%, -50%) scale(1);
}

.container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 200rpx 0;
    box-sizing: border-box;
}

.centers {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.mt-20 {
    margin-top: 20rpx;
}

.mt-30 {
    margin-top: 30rpx;
}

.mt-40 {
    margin-top: 40rpx;
}

.mr-30 {
    margin-right: 30rpx;
}

.mr-50 {
    margin-right: 50rpx;
}

.mtb-10 {
    margin: 10rpx 0;
}

.mr-50 {
    margin-right: 50rpx;
}

.mr-90 {
    margin-right: 90rpx;
}

.fl-r {
    float: right;
}

.mt-60 {
    margin-top: 60rpx;
}

.mt-10 {
    margin-top: 10rpx;
}

.mr-10 {
    margin-right: 10rpx;
}

.mt-6 {
    margin-top: 6rpx;
}

.ml-4 {
    margin-left: 4rpx;
}

.ml-10 {
    margin-left: 10rpx;
}

ml-40 {
    margin-left: 40rpx;
}

.mt-16 {
    margin-top: 16rpx;
}

.mr-20 {
    margin-right: 20rpx;
}

.mlrt-20 {
    margin: 20rpx 20rpx 0 20rpx;
}

.mt-100 {
    margin-top: 100rpx;
}

.w-25 {
    width: 25%;
    display: flex;
    justify-content: center;
}

.mtb-30 {
    margin: 30rpx 0;
}

.mtb-20 {
    margin: 20rpx 0;
}

.mtb-10 {
    margin: 10rpx 0;
}

.mt-5 {
    margin-top: 5rpx;
}

.mb-20 {
    margin-bottom: 20rpx;
}

.mb-60 {
    margin-bottom: 60rpx;
}

.ml-20 {
    margin-left: 20rpx;
}

.mtl-20 {
    margin: 20rpx 0 0 20rpx;
}

.mt-120 {
    margin-top: 120rpx;
}

.mt-16 {
    margin-top: 16rpx;
}

.icon-24 {
    width: 24rpx;
    height: 24rpx;
}

.icon-28 {
    width: 28rpx;
    height: 28rpx;
}

.icon-32 {
    width: 32rpx;
    height: 32rpx;
}

.icon-34 {
    width: 34rpx;
    height: 34rpx;
}

.icon-36 {
    width: 36rpx;
    height: 36rpx;
}

.icon-40 {
    width: 40rpx;
    height: 40rpx;
}

.icon-48 {
    width: 48rpx;
    height: 48rpx;
}

.icon-56 {
    width: 56rpx;
    height: 56rpx;
}

.icon-80 {
    width: 80rpx;
    height: 80rpx;
}

.icon-88 {
    width: 88rpx;
    height: 88rpx;
}

.h-100 {
    height: 100rpx;
}

.h-80 {
    height: 80rpx;
}

.mt-28 {
    margin-top: 28rpx;
}

.mt-30 {
    margin-top: 30rpx;
}

.mt-40 {
    margin-top: 40rpx;
}

.mr-40 {
    margin-right: 40rpx;
}

page {
    background: #fbfbfb;
}

.mt-34 {
    margin-top: 34rpx;
}

.mt-54 {
    margin-top: 54rpx;
}

.icon-36 {
    width: 36rpx;
    height: 36rpx;
}

.icon-44 {
    width: 44rpx;
    height: 44rpx;
}

.hrs {
    width: 100%;
    height: 0px;
    border-bottom: 1px solid #e5e5e5;
}

.flexbox-sb {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-content: center;
}

.p-r {
    position: relative;
}

.text-r {
    text-align: right;
}

.mb-30 {
    margin-bottom: 30rpx;
}

.mt-18 {
    margin-top: 18rpx;
}

.mlr-20 {
    margin: 0 20rpx;
}

image {
    object-fit: cover;
}

.w-100 {
    width: 100%;
}

/* 组件样式 */

.van-tabs__line {
    background: #ff8722 !important;
}

.van-tab {
    height: 100%;
}

.van-tab__pane {
    /*隐藏滚轮*/
    overflow-y: initial !important;
}

/* 缺省页样式 */
.details-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.details-page {
    width: 360rpx;
    height: 264rpx;
    margin-top: 40rpx;
}

.details-text {
    height: 80rpx;
    font-size: 28rpx;
    font-family: PingFangSC-Regular, PingFang SC;
    font-weight: 400;
    color: #666666;
    line-height: 40rpx;
    width: 100%;
    text-align: center;
}

.icon-60 {
    width: 60rpx;
    height: 60rpx;
}

.bg-share {
    background: #f54c01;
}

.btn-share {
    margin: 14px 12%;
    line-height: 90rpx;
}

.btn-share2 {
    margin: 14px 30%;
    line-height: 90rpx;
}
</style>
